package com.iwe3.operation.util;

import cn.hutool.jwt.JWT;
import cn.hutool.jwt.JWTHeader;
import cn.hutool.jwt.JWTUtil;

import java.util.Map;

public class TokenUtil {

    /**
     * 作用：产生Token
     * @param payload 载荷
     * @param signature 签名
     * @return
     */
    public static String createToken(Map<String,Object> payload, String signature){
        return JWTUtil.createToken(payload, signature.getBytes());
    }

    /**
     * 校验Token是否合法
     * @param token 令牌
     * @param signature 签名
     * @return
     */
    public static boolean verify(String token,String signature){
        return JWTUtil.verify(token, signature.getBytes());
    }

    /**
     * 获取载荷信息
     * @param token
     * @param key
     * @return
     */
    public static Object parsePayLoad(String token,String key){
        final JWT jwt = JWTUtil.parseToken(token);
        jwt.getHeader(JWTHeader.TYPE);
        return jwt.getPayload(key);
    }

}
